package com.fun.arithmetic;

/**
 * 异或算法题测试
 */
public class XORTest {
    public static void main(String[] args) {
       int[] nums1 = new int[]{1,2,3,2,1};
        System.out.printf("找出唯一无重复的数："+findOnlyOne(nums1));
    }

    /**
     * 数组中两两重复，但是其中有一个数没重复的，找出数组中唯一无重复的数
     * 如果没有返回-1
     * @param nums
     * @return
     */
    public static int findOnlyOne(int[] nums){
        if(nums.length<=2){
            return -1;
        }
        int res = nums[0];
        for (int i = 0; i < nums.length; i++) {
            res = res^nums[i];
        }
        return res;
    }
}
